The present invention relates to electrical signal waveform measurement and display, and more particularly to a method of waveform compression and display.
In digital oscilloscopes waveform data is sampled rapidly and stored in a memory. When observing long periods of time, the quantity of data may exceed the memory available. When this happens some information needs to be discarded. Therefore the sampled data needs to be compressed before being stored in the memory. Usable compression schemes are limited because the data arrives at a very high rate. The most common compression schemes are:                Decimation. This compression scheme aliases high frequency information and misses narrow pulses.        Peak Detection. In the presence of high frequency signals the low frequency information is lost.        HiRes Filtering. Some high frequency information is aliased and narrow pulses are filtered out.Each of these schemes has serious drawbacks, as described in more detail below.        
In digital oscilloscopes it is desirable to examine high frequency signals. To do this in real time the sample rate has to be twice the highest frequency components of the signal being examined. This is accomplished by using very fast technology to make the analog-to-digital converters (ADCs) and then placing many of these ADCs in parallel, digitizing the same analog input channel in such a way that each ADC digitizes data from a different time for each sample clock period. A very high sample rate is achieved, but this creates the problem of how to manage the vast amount of data that is generated in very short periods of time.
The sampled data typically is written into very fast memories with as many memories placed in parallel as needed. This works as long as the period of time being examined is short and the amount of data fits within the memory depth. However oscilloscope users want to examine electrical signals over long periods of time and, no matter how large the memory depth, the amount of data vastly exceeds the memory depth. In order to allow long periods of time to be examined, a compression scheme is needed to reduce the amount of data being stored in memory. The compression scheme has to be capable of very large compression ratios when very long periods of time are examined. The compression scheme also has to be very fast since data is arriving from the ADCs at such a high rate.
Decimation is the simplest form of compression. To compress by a factor of ten, just discard nine out of every ten samples. However decimation is not a very good compression scheme since, for example, narrow pulses that may be very important are often discarded. Also high frequency signal components are aliased to low frequencies. This may obscure important low frequency information. It also makes this form of compression “dishonest” because the low frequency signals seen may not really be there. U.S. Pat. No. 5,115,189 entitled “Anti-Aliasing Dithering Method and Apparatus for Low Frequency Signal Sampling” describes a method of keeping stable high frequency components from appearing as aliased low frequency signals by, when decimating by N, selecting one sample to be retained from each group of N samples on a random basis. The high frequency components still are aliased to low frequencies, but the steady high frequency signal is aliased to many low frequencies by this frequency modulating of the sample rate. U.S. Pat. No. 6,388,595 entitled “Dithering Apparatus to Properly Represent Aliased Signals for High Speed Signal Sampling” covers the same scheme, but with an implementation variation.
Another variation of decimation is shown in U.S. Pat. No. 4,586,022 entitled “Waveform Memory Circuit” where sampled data is compared with the last value stored in memory. When the difference between the two samples exceeds a limit, the new value together with the number of samples that were decimated is then stored into memory. With this technique signals that are principally composed of low frequency components have a much higher compression ratio than signals that have high frequency components. However this does not work well in general purpose digital oscilloscopes since all signals, even signals having high frequency components, need to be compressed in order to fit within the memory depth.
Peak detection involves dividing time into many equal periods and then finding the maximum signal voltage and the minimum signal voltage within each period of time. Originally analog circuitry was used to find the maximum and minimum voltages. These voltages are digitized and stored in memory. More recently the digital signal is examined with digital peak detecting circuitry to achieve the same result. Analog peak detectors always introduced errors, while digital peak detectors may fail to register the peak voltage if the signal is not sampled exactly at the peak. This latter problem becomes small when the sample rate is much higher than the highest frequency components of the signal. Although peak detection may be considered an “honest” way of displaying the analog signal, it tends to make signals look noisy since it displays the peak noise. Also when high frequency components are present they tend to obscure the low frequency components.
Normally both the maximum and minimum values are written into memory during each time interval. However U.S. Pat. No. 4,183,087 entitled “Peak Deviation Sampling” shows a technique where only the minimum or maximum, whichever varies most from the previously selected value, is saved in memory. However this scheme generally is not worth the inaccuracies introduced by saving only half the data. The scheme generally used today is described in U.S. Pat. No. 4,271,486 entitled “Waveform Storage System.” The maximum and minimum digitized values over each period of time are found with digital logic and saved in memory. U.S. Pat. No. 4,755,960 entitled “Waveform Data Compressing Circuit” describes slight modifications to the basic peak detection scheme. In one modification each peak detect pair may be modified by a previous pair so that, when graphed, a vertical line is extended to touch the previous vertical line. Other modifications include keeping track of over-range and under-range codes, adding a constant to all values and allowing data to pass through without being peak detected.
U.S. Pat. No. 5,115,404 entitled “Digital Storage Oscilloscope with Indication of Aliased Display” describes another variation of peak detection. In addition to finding the maximum and minimum values over a period of time, the described circuit also finds the number of times that the slope of the signal changed and keeps track of which is found first, the maximum or the minimum. The maximum and minimum values are stored in memory in the order in which they occurred. Also included is an indicator that two or more changes of slope occurred. The data is then displayed as a bar between the maximum and minimum values. On the other hand when the slope does not change two or more times, the data is displayed as a line that goes through the two points, preserving the order.
U.S. Pat. No. 5,547,232 entitled “Method and Apparatus for Detecting/Storing Waveform Peak Value” appears to describe a scheme where the data is generated so rapidly that a single maximum and minimum circuit is expensive to build, so the data is divided into groups—perhaps parallel data streams—and the maximum and minimum in each group is found. U.S. Pat. No. 6,121,799 entitled “Interleaved Digital Peak Detector” describes a peak detection circuit where the data is divided into multiple pipes or paths and the peak values in each path are found.
U.S. Pat. No. 5,740,064 entitled “Sampling Technique for Waveform Measuring Instruments” describes how a mixture of peak detected data and decimated data may be acquired. The peak detected data is stored in memory when the peak amplitude is greater than a limit, otherwise the decimated data is stored. This allows low frequency signals with noise to appear less noisy. Although the displayed data may look better, this has the effect of making the peak detect mode “dishonest.” U.S. Pat. No. 6,344,844 entitled “Digital Oscilloscope Having Improved Peak Detect Mode” indicates that both peak detected and decimated data may be saved in the acquisition memory. The decimated data is shown conventionally, but the peak detected data is displayed differently depending on any of a number of conditions. Most notably if the vertical height of the peak detect data is small, the peak detect data may be displayed with little intensity. This allows low frequency with little noise to be drawn primarily using the decimated data so that the peak noise is not emphasized. However the ability exists to draw with higher intensity peak detected data that is significantly different from previous or following data, such as narrow pulses.
In general filtering is viewed as a way to keep aliasing from occurring before decimation, as illustrated in U.S. Pat. No. 4,621,217 entitled “Anti-Aliasing Filter Circuit for Oscilloscopes.” This scheme prevents aliasing by removing the high frequency signal components before performing the decimation. The filtering is done before the signal is digitized. U.S. Pat. No. 4,802,098 entitled “Digital Bandpass Oscilloscope” selectively removes frequency components so that only a given band of frequencies remain, allowing compression in the available memory over the desired period of time.
U.S. Pat. No. 5,233,546 entitled “Anti-Alias Filtering Apparatus for Frequency Domain Measurements” describes a technique for digitally filtering the data with a finite impulse response (FIR) lowpass filter. At high sample rates the data is first acquired in memory and then later filtered. However no compression is achieved. At sufficiently low sample rates the digitized data may be filtered and decimated before storing in memory. Many modern oscilloscopes, such as the TDS400, TDS500B and TDS700A digital oscilloscopes manufactured by Tektronix, Inc. of Beaverton, Oreg. have a mode called “HiRes.” This acquisition mode uses a moving average filter, followed by decimation, to compress data. When used to observe low frequency signals, the HiRes filter significantly reduces high frequency noise. Unfortunately the HiRes moving average filter is not a good lowpass filter. It allows significant amounts of some high frequency signals to pass through, which are then aliased and appear as low frequency components.
What is desired is a fast and more intelligent way to compress sampled waveform data that preserves an “honest” display.